package com.whmall.service.crm.api;

import com.whmall.component.entity.dto.PageReqDTO;
import com.whmall.component.entity.dto.PageRspDTO;
import com.whmall.service.crm.entity.dto.supplierdevelop.*;

import java.util.List;

public interface SupplierDevelopPoolApi {

    /**
     * 供应商开发池 列表搜索
     * @param repDTO
     * @return
     */
    PageRspDTO<SupplierDevelopQueryRspDTO> list(PageReqDTO pageReqDTO, SupplierDevelopQueryRepDTO repDTO);

    /**
     * 获取供应商
     * @param employeeId
     * @param companyId
     */
    void acquireSupplier(Long employeeId, Long companyId);

    /**
     * 获取供应商 （多个）
     * @param reqDTOS
     */
    void acquireSupplier(List<AcquireSupplierReqDTO> reqDTOS);

    /**
     * 释放供应商
     * @param reqDTO
     */
    void releaseSupplier(ReleaseSupplierReqDTO reqDTO);

    /**
     * 释放供应商 （多个）
     * @param reqDTOS
     */
    void releaseSupplier(List<ReleaseSupplierReqDTO> reqDTOS);

    /**
     * 添加控制目录
     * @param reqDTO
     */
    void addControlDirectory(AddControlDirectoryReqDTO reqDTO);

    /**
     * 移除控制目录
     * @param employeeId
     * @param companyId
     */
    void removeControlDirectory(Long employeeId, Long companyId);

    /**
     * 供应商开发池日志记录 列表搜索
     * @param pageReqDTO
     * @param companyId
     * @return
     */
    PageRspDTO<SupplierDevelopPoolLogQueryRspDTO> listLog(PageReqDTO pageReqDTO, Long companyId);

    /**
     * 新增供应商 供应池 跟进记录
     * @param saveReqDTO
     * @return
     */
    Long saveFollow(SupplierDevelopPoolFollowSaveReqDTO saveReqDTO);

    /**
     * 供应商 供应池 跟进记录列表
     * @param companyId
     * @return
     */
    PageRspDTO<SupplierDevelopPoolFollowRspDTO> listFollow(PageReqDTO pageReqDTO, Long companyId);

}
